#!/usr/bin/env python
# -*- coding:utf-8 -*-

# file:进程池.py
# author: 马国鑫
# datetime:2022/3/30 22:35
# software: PyCharm

"""
this is function  description 
"""

import time
import multiprocessing


def copy_work():
    print('正在拷贝文件....',multiprocessing.current_process())
    time.sleep(0.5)


if __name__ == '__main__':
    # 创建进程池
    pool = multiprocessing.Pool(3)
    # 让线程池开始工作
    # 使用同步的方式工作
    for i in range(10):
        # apply(函数名，(传入参数1，参数2，...))
        # pool.apply(copy_work)
        # 使用异步工作的方式完成任务
        # 1.异步需要手动关闭pool.close()表示不再接受新的任务
        # 2.异步的时候  主线程不会等待线程池完成任务就结束了
        # 所以需要pool.join()让线程池完成工作  主线程再结束
        pool.apply_async(copy_work)

    pool.close()
    pool.join()

